-- NUEVO CONSTRAINT SOBRE PADD. Agrega integridad con pada. Si pada cambia o se borra, impacta directamente en padd.--
-- Edu - julio 2020

-- Primero elimino las relaciones con rubros que ya no estan.

DELETE FROM padd WHERE NOT EXISTS (SELECT * FROM pada WHERE pada.tipo = padd.tipodef);

-- Agrego el constraint

ALTER TABLE padd ADD CONSTRAINT gestion_ai_padapadd FOREIGN KEY (tipodef)
      REFERENCES public.pada (tipo) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE;

-- MODIFICACION CONSTRAINT SOBRE ARTD. En UPDATE decia NO ACTION, ahora CASCADE.

ALTER TABLE artd DROP CONSTRAINT gestion_ai_artaartd;

ALTER TABLE artd ADD CONSTRAINT gestion_ai_artaartd FOREIGN KEY (tipodef)
      REFERENCES public.arta (tipo) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE;

-- Modif comentario 'tipodef'. Decia 'Indica si el rubro asociado es permitido'.  El nuevo comentario lo robe de padd para que esten iguales.
-- Ademas el nombre de campo tipodef es una verga. Da la idea de un tipo de definicion y en verdad es un 'tipopada/tipoarta'def. Pero bueh, quedara.

COMMENT ON COLUMN public.artd.tipodef IS 'Arbol relacionado (es el dato nuevo de esta relacion)';


-- owner para ciupar

ALTER TABLE public.ciupar OWNER TO abacouser;

-- =================================
SELECT aaversion('437.02', '437.01');
-- =================================